Cloud computing environments may provide computing infrastructures that are abstracted from the underlying physical hardware. Cloud computing environments may deliver Infrastructure-as-a-service (IaaS) by providing the ability to create virtual machines (VMs) on demand having defined attributes such as size, operating system, number of block devices etc. These VMs, which may be formed as encapsulated networks, may be carved out of the underlying physical hardware.
FIG. 1 illustrates an example of a cloud computing environment. In the example shown in FIG. 1, a physical computing hardware infrastructure 101 is shown. The physical computing hardware infrastructure could, for example, comprise one or more data centres or the like comprising a plurality of servers, one or more supercomputers or any collection or network of computing resources. The physical hardware may be owned and controlled by one organisation and made available to other organisations, for instance as part of an Infrastructure-as-a-service and/or Platform-as-a-service business, or the hardware could be the hardware of a single organisation operated as a cloud computing environment for its own users.
The physical hardware can be used to provide appropriate VMs on demand to users. The VMs may be associated with volumes, i.e. virtual disks, for operation and data storage. In one implementation, the VMs and volumes are provided within cells, with each cell being an encapsulated network comprising one or more VMs and/or volumes. A cell, in an implementation of a cloud computing environment, is a virtualized infrastructure, derived from the underlying physical infrastructure, which may be separated from other virtual resources provided by the same physical infrastructure by encapsulation. In other words a cell is a collection of virtual resources which may be isolated within a virtual security boundary and wherein network security rules may control any data traffic into or out of the cell. A cell therefore may provide a virtual network that may be connected to a wider network and in which network security rules may mean that one cell is isolated from another cell, other than through connection rules that can be controlled by the owner of the cell. By default each cell may be completely isolated from all other cells although the owner of a cell can control interaction of the cell with external entities through network access rules.
Within a cell one more virtual machines may be instantiated and may form a virtual network. Volumes are components of a cell. In the context of cloud computing a volume is a virtual component accessible by a VM that provides persistent storage for persisting the state of a VM or an image or components used to form a VM. In the context of cloud computing a volume is abstracted from any underlying physical storage hardware and thus is separate from and not tied to any particular storage resource or type of resource but provides a single, distinct virtual storage resource with defined attributes such as size.
FIG. 1 shows a first user, 102, running two cells, 103 and 104. The user 102 accesses the cells via a user interface provided by the user's local workstation for example.
The user 102 specifies the number and attributes of VMs and associated volumes for the cell. Cell 103 shows an illustrative network of several VMs 105-1 to 105-5 each having an associated volume 106-1 to 106-5. Cell 104 shows an illustrative network comprising a single VM 107 having three associated volumes 108-1 to 108-3. FIG. 1 also illustrates another user 109 running a different cell 110.
In some embodiments users may share services within the cloud computing environment and applications running within the cloud computing environment may interact with other applications autonomously. Thus the cloud computing environment may be characterized by a collection of loosely coupled, autonomous services.